package com.googlecode.stemwijzer.client.inject;

import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.place.PlaceManager;

import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
import com.googlecode.stemwijzer.client.StemwijzerServiceAsync;
import com.googlecode.stemwijzer.client.presenter.NotificationPresenter;
import com.googlecode.stemwijzer.client.presenter.StemwijzerPresenter;
import com.googlecode.stemwijzer.client.rest.RestStemwijzerServiceProxy;

@GinModules(StemwijzerModule.class)
public interface StemwijzerGinjector extends Ginjector {

     EventBus getEventBus();

     NotificationPresenter getNotificationPresenter();

     PlaceManager getPlaceManager();

     RestStemwijzerServiceProxy getQuestionnaireRestService();

     StemwijzerPresenter getStemwijzerPresenter();

     StemwijzerServiceAsync getStemwijzerService();
}
